Versi 1
| Field | Isi |
|---|---|
| Dokumen ID | VBS-GDG-003 |
| Deskripsi | Master lokasi: mengelola daftar lokasi brand (nama, telepon, kota, alamat, fax), menambah, mengubah, menonaktifkan, dan memulihkan dari arsip |
| Nomor Revisi | 1 |
| Tanggal | 2026-10-04 |
| Keterangan | Dokumentasi baseline dari dokumentasi fitur demo dan kode FE |
1. Ringkasan
a. In scope
- User dapat melihat daftar lokasi aktif (nama lokasi, telepon, kota)
- User dapat mencari lokasi berdasarkan nama
- User dapat menambah lokasi (nama wajib; telepon, kota, alamat, fax opsional)
- User dapat mengubah data lokasi (klik baris atau tombol edit)
- User dapat menonaktifkan lokasi dan memulihkannya dari arsip
b. Catatan
c. Kesimpulan
- [FE] -
- [BE] -
2. Functional Requirement
| Kode | Deskripsi |
|---|---|
| FR-01 | Sistem menampilkan daftar lokasi aktif dengan kolom nama lokasi, telepon, dan kota |
| FR-02 | User dapat mencari lokasi berdasarkan nama lokasi |
| FR-03 | User dapat menambah lokasi dengan nama lokasi wajib |
| FR-04 | User dapat mengubah data lokasi |
| FR-05 | User dapat menonaktifkan lokasi dan memulihkannya dari arsip |
3. Use Case List
| Kode | Deskripsi |
|---|---|
| UC-01 | Melihat dan mencari daftar lokasi |
| UC-02 | Menambah lokasi |
| UC-03 | Mengubah lokasi |
| UC-04 | Menonaktifkan lokasi |
| UC-05 | Memulihkan lokasi dari arsip |
4. Use Case Scenario
UC-01 : Melihat dan mencari daftar lokasi
| Aktor | User brand dengan hak #lokasi |
| Deskripsi | User melihat daftar lokasi aktif |
| Prekondisi | User sudah login dan membuka brand |
| Alur utama | 1. User membuka menu Master Lokasi. 2. Sistem menampilkan nama lokasi, telepon, dan kota. 3. User mengetik pencarian nama lokasi. 4. Sistem memuat ulang daftar. |
| Alur negatif | - Jika kosong tanpa filter, tampil "Daftar Lokasi masih kosong". - Jika pencarian tidak ketemu, tampil "Lokasi Tidak Ditemukan". |
| Bisnis rule | - Hanya lokasi is_active: true di daftar utama.- Tooltip: klik baris untuk edit. |
| Postkondisi | Daftar lokasi tampil |
| Trigger | User membuka menu Lokasi |
| Kode FR | FR-01 FR-02 |
UC-02 : Menambah lokasi
| Aktor | User brand dengan hak basic #lokasi |
| Deskripsi | User mendaftarkan lokasi baru |
| Prekondisi | User punya hak basic |
| Alur utama | 1. User klik buat tindakan / tambah. 2. User mengisi nama lokasi (wajib), telepon, kota, alamat, fax. 3. User klik Simpan. 4. Sistem menampilkan "Berhasil membuat Lokasi". |
| Alur negatif | - Jika nama lokasi kosong, muncul "Nama Lokasi harus di isi". - Jika gagal, muncul pesan error dari server. |
| Bisnis rule | - Nama lokasi di-trim sebelum disimpan. - Field opsional kosong tidak dikirim / dikirim undefined. |
| Postkondisi | Lokasi baru tersimpan |
| Trigger | User klik Simpan |
| Kode FR | FR-03 |
UC-03 : Mengubah lokasi
| Aktor | User brand dengan hak basic #lokasi |
| Deskripsi | User memperbarui data lokasi |
| Prekondisi | Lokasi sudah ada |
| Alur utama | 1. User klik baris atau tombol edit. 2. Sistem membuka form edit dan memuat data lokasi. 3. User mengubah data lalu Simpan. |
| Alur negatif | - Jika tanpa hak basic, klik baris diabaikan. - Jika gagal, muncul pesan error dari server. |
| Bisnis rule | - Nama lokasi tetap wajib. |
| Postkondisi | Lokasi terbarui |
| Trigger | User klik Simpan |
| Kode FR | FR-04 |
UC-04 : Menonaktifkan lokasi
| Aktor | User brand dengan hak basic #lokasi |
| Deskripsi | User menonaktifkan lokasi |
| Prekondisi | Lokasi ada di daftar aktif |
| Alur utama | 1. User klik hapus / nonaktif. 2. Sistem konfirmasi "Anda yakin ingin menonaktifkan lokasi ini?". 3. User konfirmasi "Ya, Non-Aktifkan!". 4. Sistem menampilkan "Berhasil menonaktifkan Lokasi". |
| Alur negatif | - Jika gagal, muncul pesan error dari server. |
| Bisnis rule | - Nonaktif lewat update is_active: false (bukan hard delete di UI daftar). |
| Postkondisi | Lokasi tidak tampil di daftar aktif |
| Trigger | User konfirmasi nonaktif |
| Kode FR | FR-05 |
UC-05 : Memulihkan lokasi dari arsip
| Aktor | User brand dengan hak archive #lokasi |
| Deskripsi | User mengaktifkan kembali lokasi |
| Prekondisi | Ada lokasi tidak aktif |
| Alur utama | 1. User membuka Arsip. 2. User mencentang lokasi, klik Pulihkan Lokasi, konfirmasi. 3. Sistem menampilkan "Berhasil memulihkan Lokasi terpilih". |
| Alur negatif | - Jika gagal, muncul pesan error dari server. - Pencarian di halaman arsip berisiko tidak bekerja jika field input dan filter tidak selaras. |
| Bisnis rule | - Arsip memuat lokasi is_active: false.- Pemulihan massal lewat POST /lokasi/bulk-update (lokasi/createBulk). |
| Postkondisi | Lokasi kembali aktif |
| Trigger | User memulihkan dari arsip |
| Kode FR | FR-05 |
5. Data Flow Diagram
DFD-01
6. Sequence Diagram
SD-01 — UC-01 : Melihat dan mencari daftar lokasi
SD-02 — UC-02 : Menambah lokasi
SD-03 — UC-03 : Mengubah lokasi
SD-04 — UC-04 : Menonaktifkan lokasi
SD-05 — UC-05 : Memulihkan lokasi dari arsip
7. Table Schema
8. API Schema
| Endpoint | Status | Perubahan |
|---|---|---|
GET /lokasi | existing | - |
GET /lokasi/:id | existing | - |
POST /lokasi | existing | - |
PUT /lokasi/:id | existing | - |
DELETE /lokasi/:id | existing | - |
POST /lokasi/bulk-update | existing | - |